Rustでは、 リリースプロファイル は、開発者がコンパイル時間と実行時パフォーマンスのトレードオフを制御できるようにする事前定義された設定です。 コンパイル時間 および 実行時パフォーマンスこれらの設定を調整することで、迅速なイテレーションか本番環境へのデプロイに応じて、コンパイラの振る舞いをカスタマイズできます。
1. 開発用とリリース用プロファイルの違い
Cargoには2つの主要なプロファイルがあります: dev (「 cargo build」で使用)と release (「 cargo build --release)。devプロファイルは高速なコンパイルを最適化していますが、コードの実行速度は遅くなります。一方、リリースプロファイルは最大限の効率性を得るためにマシンコードの最適化に時間をかけています。
2. 最適化レベルの設定
「 opt-level 」設定はパフォーマンスの主な制御手段です。0から3までの範囲で指定できます:
- 0: 最適化なし。高速なビルド、遅いコード。(devのデフォルト)
- 1-2: 中程度の最適化。
- 3: 積極的な最適化。遅いビルド、最も速いコード。(リリースのデフォルト)
- 「s」または「z」: 速度ではなくバイナリサイズの最適化を行います。
| プロファイル | デフォルトの最適化レベル | 目的 |
|---|---|---|
| dev | 0 | 高速なイテレーション |
| release | 3 | 本番環境での高速性 |
3. プロファイルのカスタマイズ
これらのデフォルト値は、 Cargo.tomlで上書きできます。最適化されていないコードがテストに不十分すぎる(例:重いシミュレーションなど)場合や、完全なリリースビルドに時間がかかりすぎる場合に役立ちます。
[profile.dev]
opt-level = 1 # level 0より高速なコード。コンパイルも依然として高速
opt-level = 1 # level 0より高速なコード。コンパイルも依然として高速
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>